"""
算术运算符
学习目标：
1. 掌握基本算术运算符的使用
2. 理解整除和取余的区别
3. 学会在实际问题中应用算术运算
"""

# ==================== 1. 基本算术运算符 ====================
print("=" * 50)
print("1. 基本算术运算符")
print("=" * 50)

a = 10
b = 3

# 加法 +
result = a + b
print(f"{a} + {b} = {result}")

# 减法 -
result = a - b
print(f"{a} - {b} = {result}")

# 乘法 *
result = a * b
print(f"{a} × {b} = {result}")

# 除法 / (返回浮点数)
result = a / b
print(f"{a} ÷ {b} = {result}")
print(f"注意：除法总是返回浮点数")

# 整除 // (向下取整)
result = a // b
print(f"{a} // {b} = {result}")
print(f"10 ÷ 3 = 3 余 1，所以整除结果是 3")

# 取余(模运算) %
result = a % b
print(f"{a} % {b} = {result}")
print(f"10 ÷ 3 = 3 余 1，所以取余结果是 1")

# 幂运算 **
result = a ** b
print(f"{a} ** {b} = {result}")
print(f"表示 10 的 3 次方")

print()

# ==================== 2. 整除和普通除法的区别 ====================
print("=" * 50)
print("2. 整除 // 和普通除法 / 的区别")
print("=" * 50)

# 正数除法
print("正数：")
print(f"10 / 3 = {10 / 3}")    # 3.333...
print(f"10 // 3 = {10 // 3}")  # 3 (向下取整)

# 负数除法
print("\n负数：")
print(f"-10 / 3 = {-10 / 3}")    # -3.333...
print(f"-10 // 3 = {-10 // 3}")  # -4 (向下取整，不是向0取整)

# 浮点数除法
print("\n浮点数：")
print(f"10.5 / 2 = {10.5 / 2}")    # 5.25
print(f"10.5 // 2 = {10.5 // 2}")  # 5.0 (结果仍是浮点数)

print()

# ==================== 3. 取余运算的应用 ====================
print("=" * 50)
print("3. 取余运算的实际应用")
print("=" * 50)

# 判断奇偶数
number = 17
if number % 2 == 0:
    print(f"{number} 是偶数")
else:
    print(f"{number} 是奇数")

# 判断能否整除
dividend = 15
divisor = 3
if dividend % divisor == 0:
    print(f"{dividend} 能被 {divisor} 整除")
else:
    print(f"{dividend} 不能被 {divisor} 整除，余数是 {dividend % divisor}")

# 循环取值（例如：周几）
# 假设0是周日，1是周一...6是周六
days = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"]
day_number = 10  # 第10天
print(f"\n第{day_number}天是：{days[day_number % 7]}")
# 10 % 7 = 3，所以是周三

print()

# ==================== 4. 幂运算的应用 ====================
print("=" * 50)
print("4. 幂运算的实际应用")
print("=" * 50)

# 计算平方
side = 5
area = side ** 2
print(f"边长为 {side} 的正方形，面积 = {area}")

# 计算立方
length = 3
volume = length ** 3
print(f"边长为 {length} 的正方体，体积 = {volume}")

# 计算平方根（使用 0.5 次方）
number = 16
sqrt = number ** 0.5
print(f"{number} 的平方根 = {sqrt}")

# 科学计数法的计算
# 光速约为 3 × 10^8 米/秒
speed_of_light = 3 * (10 ** 8)
print(f"光速约为：{speed_of_light} 米/秒")

print()

# ==================== 5. 综合实战：几何图形计算 ====================
print("=" * 50)
print("5. 综合实战：几何图形计算")
print("=" * 50)

# 计算圆的面积和周长
print("【圆形计算】")
radius = 5
pi = 3.14159

area = pi * radius ** 2  # πr²
circumference = 2 * pi * radius  # 2πr

print(f"半径：{radius}")
print(f"面积：{area:.2f}")
print(f"周长：{circumference:.2f}")

# 计算梯形面积
print("\n【梯形计算】")
upper_base = 3  # 上底
lower_base = 5  # 下底
height = 4  # 高

area = (upper_base + lower_base) * height / 2
print(f"上底：{upper_base}，下底：{lower_base}，高：{height}")
print(f"面积：{area}")

# 计算球的体积和表面积
print("\n【球体计算】")
radius = 3
volume = 4 / 3 * pi * radius ** 3  # 4/3 πr³
surface_area = 4 * pi * radius ** 2  # 4πr²

print(f"半径：{radius}")
print(f"体积：{volume:.2f}")
print(f"表面积：{surface_area:.2f}")

print()

# ==================== 6. 综合实战：单位转换 ====================
print("=" * 50)
print("6. 综合实战：单位转换")
print("=" * 50)

# 温度转换
print("【温度转换】")
celsius = 25
fahrenheit = celsius * 9 / 5 + 32
print(f"{celsius}°C = {fahrenheit}°F")

kelvin = celsius + 273.15
print(f"{celsius}°C = {kelvin}K")

# 长度转换
print("\n【长度转换】")
meters = 1500
kilometers = meters / 1000
centimeters = meters * 100
print(f"{meters}米 = {kilometers}千米 = {centimeters}厘米")

# 时间转换
print("\n【时间转换】")
total_seconds = 3665
hours = total_seconds // 3600
minutes = (total_seconds % 3600) // 60
seconds = total_seconds % 60
print(f"{total_seconds}秒 = {hours}小时{minutes}分{seconds}秒")

print()

# ==================== 7. 综合实战：财务计算 ====================
print("=" * 50)
print("7. 综合实战：财务计算")
print("=" * 50)

# 购物找零
print("【购物找零】")
price = 87  # 商品价格
paid = 100  # 支付金额
change = paid - price
print(f"商品价格：¥{price}")
print(f"支付金额：¥{paid}")
print(f"找零：¥{change}")

# 计算需要的纸币数量
# 假设有50元、10元、5元、1元面额
fifty = change // 50
change = change % 50

ten = change // 10
change = change % 10

five = change // 5
one = change % 5

print(f"需要：{fifty}张50元，{ten}张10元，{five}张5元，{one}张1元")

# 复利计算
print("\n【复利计算】")
principal = 10000  # 本金
rate = 0.05  # 年利率 5%
years = 3  # 存款年限

# 复利公式：A = P(1 + r)^n
amount = principal * (1 + rate) ** years
interest = amount - principal

print(f"本金：¥{principal}")
print(f"年利率：{rate * 100}%")
print(f"存款年限：{years}年")
print(f"到期金额：¥{amount:.2f}")
print(f"利息收入：¥{interest:.2f}")

print()

# ==================== 总结 ====================
print("=" * 50)
print("✨ 算术运算符总结")
print("=" * 50)
print("""
1. 加法 (+)：两个数相加
2. 减法 (-)：两个数相减
3. 乘法 (*)：两个数相乘
4. 除法 (/)：两个数相除，结果总是浮点数
5. 整除 (//)：向下取整的除法
6. 取余 (%)：返回除法的余数，常用于判断奇偶、整除
7. 幂运算 (**)：计算次方，n ** 0.5 可计算平方根

💡 实用技巧：
- 使用 % 判断奇偶数：number % 2 == 0
- 使用 // 和 % 进行时间、单位转换
- 使用 ** 进行几何计算
- 注意整除 // 是向下取整，不是向0取整
""")
print("=" * 50)

